package functii;

/**
 * Aceasta clasa reprezinta constantele care pot sa apara intr-o functie
 * algebrica. Obiectele de tip constanta vor trebui sa memoreze valoarea
 *  constantei respective.Aceasta se va face cu ajutorul unui atribut numit ct.
 * 
 *@author Sorica Alexandra
 *
 */

public abstract class Constanta extends Functie{
	protected double ct;
	
	/**
	 * Constructorul nu va face decat initializarea campului ct pentru fiecare 
	 * obiect în parte.
	 * @param ct primeste ca argument un double reprez valoarea constantei
	 */
	
	public Constanta(double ct) {
		this.ct = ct;
		}
	
	public double getCt() {
		return ct;
	}
	
	/**
	 * Metoda calcul va returna valoarea constantei;
	 */
	
	public double calcul(){
		return this.ct;
		}
	
	/**
	 * Metoda calculDerivata va returna valoarea constantei derivate,adica 0;
	 */
	
	public double calculDerivata(){
		return 0;
		}
	
	/**
	 * Metoda derivare va returna un String ce reprezinta derivata unei 
	 * constante adica 0;
	 */
	
	public String derivare(){
		return "0";
		}
	
	/**
	 * Metoda toString va returna un String ce va contine valoarea constantei adica ct
	 */
	
	public String toString(){
		return String.valueOf(ct);
		}
	public double calculeazaValoare() {
		return this.calcul();
		}
	}